class UsersController < ApplicationController


  filter_parameter_logging :password_repeat,
                           :user


  # Laat het registratieformulier zien.
  def new
    @user = User.new
  end

  # Probeer de gebruiker aan te maken.
  def create
    @user = User.new(params[:user])


    # Als de wachtwoorden niet overeen komen, voeg dan een foutmelding
    # toe aan de user en render vervolgens new.
    if params[:password_repeat] != params[:user][:password]
      @user.errors.add_to_base('Uw wachtwoorden komen niet overeen.')
      render :action => 'new'

    # Als het niet lukt om de gebruiker te saven, render dan new.
    elsif !@user.save
      render :action => 'new'
    
    
    else

      if not UserMailer.deliver_activate_account(@user)
        flash[:notice] = 'E-mail kon niet worden verstuurd, waarschijnlijk is er iets mis met de serverinstellingen'
      end

      render :action => 'activate_information'

#
#      # ------------------------------------------------------------
#      # Debug
#      # ------------------------------------------------------------
#      render :text => "<h1>E-mail debug.</h1>
#       <pre>#{UserMailer.create_activate_account(@user)}</pre>"

    end

  end


  # Activeer een gebruiker
  def activate
    @user = User.activate_by_code(params[:activation_code].to_s)

    if @user != nil
      render :action => 'activate_success'
    else
      render :action => 'activate_error'
    end
  end

end
